Media delivery over wired and wireless networks is continuing to grow in importance. A variety of techniques have been developed to increase the reliability of media delivery over a lossy packet network. These techniques include forward error correction (FEC), retransmission, error-resilient coding, and error concealment, as well as various combinations of these approaches.
A number of FEC-based strategies have been developed to increase the reliability of media delivery. In perhaps the most popular approach, sufficient FEC packets are added to the media stream so that a receiver (or client) can recover all transmitted data (media) packets if any of the media packets are lost in transit, as long as the total number of lost packets is less than a threshold. This approach treats all media packets equally and provides equal error protection across all packets. Such an approach can be referred to as a “protect all” approach to signify that all of the packets are protected.
Another FEC-based approach protects the more important data while the less important data is not protected. This approach can be referred to as a “protect subset” approach to signify that only a subset of the packets is protected while the remaining packets are not protected. For example, when the amount of packet loss is greater than the amount of protection that can be applied using the “protect all” approach, then the “protect subset” approach is used so that the redundancy is allocated to protect the more important data. For example, when media is encoded (compressed) using a Moving Pictures Experts Group (MPEG) compression scheme, media packets carrying data for I-frames are generally considered to be more important than media packets carrying data for P-frames or B-frames. Thus, for example, the available redundancy may be allocated to the media packets carrying data for the I-frames.
In the “protect subset” approach, the redundancy may be allocated equally to each of the more important media packets. A variant on that approach is to apply different levels of protection to different subsets of media packets. That is, the available redundancy is not allocated exclusively to the more important media packets, but instead is shared with media packets of lesser importance, with some media packets receiving a higher level of protection and other media packets a lower level of protection. Providing different levels of protection to different data is referred to as unequal error protection (UEP). In the MPEG example above, a greater proportion of the available redundancy can be allocated to protect media packets associated with I-frames and a lesser proportion to protect media packets associated with P-frames, while B-frames may not be protected (no redundancy applied). This approach can be referred to as a “protect different subsets with UEP” approach.
If there is sufficient bandwidth to accommodate the number of FEC packets necessary to overcome the expected packet loss, then the “protect all” approach is generally the best strategy to employ. However, in situations where there is not enough bandwidth available for FEC for the “protect all” approach to enable the recovery of all the lost packets, it is unclear which of the remaining strategies should be selected and implemented in order to decrease or even minimize the expected distortion of the reconstructed media at the receiver/client.
Accordingly, there is value to a data protection strategy that can be employed when a “protect all” approach is not a viable alternative.